home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
The CDPD Public Domain Collection for CDTV 4
/
CDPD_IV.bin
/
e
/
mailinglists
/
amigae.0993sept.archive
/
000010_crash!fwi.uva.nl!oortmers_Wed, 1 Sep 93 15:22:00 PST.msg
< prev
next >
Wrap
Internet Message Format
|
1994-05-26
|
3KB
Received: by bkhouse.cts.com (V1.16/Amiga)
id AA00000; Wed, 1 Sep 93 15:22:00 PST
Received: from mail.fwi.uva.nl by crash.cts.com with smtp
(Smail3.1.28.1 #18) id m0oY0Mc-0000LqC; Wed, 1 Sep 93 15:09 PDT
Received: from gene.fwi.uva.nl by mail.fwi.uva.nl with SMTP (5.65c/5.1)
id AA20866; Thu, 2 Sep 1993 00:09:05 +0200
Received: by gene.fwi.uva.nl
id AA18772; Thu Sep 2 00:09:03 1993
Message-Id: <199309012209.AA18772@gene.fwi.uva.nl>
Date: Thu, 2 Sep 1993 00:09:03 +0200
Return-Path: <oortmers@fwi.uva.nl>
X-Organisation: Faculty of Mathematics & Computer Science
University of Amsterdam
Plantage Muidergracht 24
NL-1018 TV Amsterdam
The Netherlands
X-Phone: +31 20 525 5200
X-Telex: 16460 facwn nl
X-Fax: +31 20 525 5101
From: oortmers@fwi.uva.nl (Wouter van Oortmerssen (Alfa_Inf92))
To: AmigaE@bkhouse.cts.com
Subject: MUI and domethod()
>> Wouter!
hello! :-)
>> First off, I want to take the time to thank you for converting the C
>> header into a useable form in E (nice thinkin! I wouldn't have come up with
>> a work-around like that :-)...it must have taken a while.
no, actually not. Those includes are generated automatically. I just told
stefan how to do it, and then he added it to his MUI system.
>> Secondly, I present to you (and everybody else) a problem: MUI relies
>> HEAVILY on the Amiga.lib function DoMethod. This is what makes it so you
>> can connect one object to another, and have them talk to each other. Since
>> it is an Amiga.lib function, does this mean there is no way to use MUI until
>> there is a new EC (2.5) with some Amiga.lib functions? Or is there a way I
>> can do it _now_ ? (If I seem impatient, its because I go back to school in
>> ten days! :-( So I have _very_ little time to experiment)
>>
>> So, it seems that for right now, the includes are un useable.
one simply needs a suitable domethod() for E:
MODULE 'intuition/classes', 'utility/hooks', 'intuition/classusr'
/* example call: domethod(myobj,[METHODID,...]) */
PROC domethod(obj:PTR TO object,msg:PTR TO msg)
DEF h:PTR TO hook,o:PTR TO object,dispatcher
IF obj
o:=obj-SIZEOF object /* instance data is to negative offset */
h:=o.class
dispatcher:=h.entry /* get dispatcher from hook in iclass */
MOVE.L h,A0
MOVE.L msg,A1
MOVE.L obj,A2 /* probably should use CallHookPkt, but the */
MOVE.L dispatcher,A3 /* original code (DoMethodA()) doesn't. */
JSR (A3) /* call classDispatcher() */
MOVE.L D0,o
RETURN o
ENDIF
ENDPROC NIL
this probably will be in modules also by v2.5, but for now it might help.
NOTE: I just hacked this together from a amiga.lib disassembly, and haven't
been able to test it yet, so just try it, and report any problems...
It's beyond me why commodore has put DoMethodA() in amiga.lib
Wouter
____ Wouter van Oortmerssen, Wouter@alf.let.uva.nl
/ __/ "Einen Satz verstehen, heisst, wissen was der Fall ist,
/ __/ wenn er wahr ist" - Wittgenstein
/___/ ->subscribe to the E mailing list: amigae-request@bkhouse.cts.com<-